using System;
using System.Data.SqlClient;
using System.Data.SQLite;
using dbm2.Model;

namespace dbm2.Syncronizers
{
    public abstract class Syncronizer
    {
        protected DBModel model;

        public Syncronizer(DBModel model)
        {
            this.model = model;
        }

        public void Syncronize()
        {
            ConnectionOpen();
            LoadTables();
            LoadFields();
            LoadIndexes();
            LoadViews();
            ConnectionClose();
        }

        protected virtual void LoadTables(){}
        protected virtual void LoadFields(){}
        protected virtual void LoadIndexes(){}
        protected virtual void LoadViews(){}
        protected virtual void ConnectionOpen(){}
        protected virtual void ConnectionClose(){}
    }
}